package com.hongdee.crm.wo.service.impl;

import com.alibaba.druid.util.StringUtils;
import com.hongdee.common.dao.IHibernateDao;
import com.hongdee.common.util.EntityUtils;
import com.hongdee.common.util.TokenUtil;
import com.hongdee.crm.wo.dao.ITCrmWoDao;
import com.hongdee.crm.wo.entity.TCrmWoType;
import com.hongdee.crm.wo.service.ITCrmWoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * Created by dell on 2017/5/9.
 */
@Service
public class TCrmWoServiceimpl implements ITCrmWoService {
    @Autowired
    private ITCrmWoDao tCrmWoDao;
    private String tabName = "T_CRM_WO_TYPE";
    @Autowired
    private IHibernateDao iHibernateDao;

    /**
     * 查询维修类别列表
     * <p>
     * 请求参数:uid ,token, start,limit
     * <p>
     * 返回值:success:查询状态，true|false
     * msg: 查询状态信息
     * total: 记录条数
     */
    public Map newPage(String start, String limit,String oid) throws Exception {
        String sql = "select * from T_CRM_WO_TYPE where company_id = ? order by status desc,disp_order asc";
        List<Object> params = new ArrayList();
        /**
         * 把公司IDJ加入params中
         * */
        params.add(oid);
        /**
         * 返回回去
         * */
        return this.tCrmWoDao.page(sql, params.toArray(), start, limit);
    }

    /*
  * 查询类别详情
  *
  * 请求参数: uid  token  id
  *
 * 返回值:success:查询状态，true|false
          msg: 查询结果信息
          data：{}
 * */
    @Override
    public Map info(String id) throws Exception {
        String sql = "select * from " + tabName + " where id = ? ";
        return this.tCrmWoDao.info(sql, id);
    }

    /*
     * 启用停雍
    *
     * 请求参数:uid    登录用户 ID
               token  登录用户 token
                id     记录主键

       返回值: success:请求状态，true|false
               msg: 请求结果信息，
    * */
    @Override
    public void update(String id, String status) throws Exception {
        if(null==id||id.equals("")){
            throw new Exception("请选择记录");
        }
        String hql = "update TCrmWoType set status = :status where id = :id ";
        Map params = new HashMap();
        params.put("id", id);
        params.put("status", status);
        this.tCrmWoDao.update(hql, params);
    }

    /*
    *    保存工单对应的类别
    *
    *    请求参数  : uid    登录用户 ID
                     token  登录用户 token
                     data  TCrmWoType实体的信息

           返回值 : success:请求状态，true|false
                    msg: 请求结果信息
    * */
    @Override
    public TCrmWoType saveOrUpdate(TCrmWoType tCrmWoType,String uid) throws Exception {
        /*
        * 根据uid获取公司id
        * */
        String oid= TokenUtil.getCompanyId(uid);
       /**
        * 把公司id赋值给实体类
        * */
        tCrmWoType.setCompanyId(oid);
        /*
        * 把createUser赋给实体
        * */
        tCrmWoType.setCreateUser(uid);
        this.tCrmWoDao.saveOrUpdate(tCrmWoType);
        return  tCrmWoType;
    }
}


